/**
 * @Author       : Mo 2427995270@qq.com
 * @Date         : 2025-08-14 21:14:46
 * @LastEditTime : 2025-08-14 21:16:00
 * @FilePath     : \ZN-1000-BL\mobl\hal_driver\ll_crc.h
 * @Description  : crc低层驱动
 * @Version      : V1.0
 * @History      : 
 * @Note         : 
 */
#ifndef  __ll_crc_H__
#define  __ll_crc_H__

/***************************************Includes***********************************/

#include <stdint.h>

/*************************************Public Macros********************************/
//#define


/***********************************Public Statement*******************************/



/***********************************Public Functions*******************************/

void crc_ll_init(void);
/**
 * @brief crc32校验
 * @param  crc              上次crc计算的结果 首次需保证crc传入0xffffffff 硬件crc是不使用该参数的
 * @param  check_data       要校验的数据地址
 * @param  num_of_data      校验数据的数量  字
 * @return uint32_t 校验结果
 * @note 可修改为硬件CRC32，需保证多项式为0x4C11DB7
 */
uint32_t crc_ll_crc32(uint32_t crc, uint32_t *check_data, uint32_t num_of_data);
/**
 * @brief 复位CRC寄存器 使用硬件CRC时需实现
 * @note null
 */
void crc_ll_reset_crc(void);


/************************** ********Public Variables************************** ****/


#endif
/* [] END OF FILE */
